home *** CD-ROM | disk | FTP | other *** search
/ The Games Machine 131 / XENIATGM131.iso / Goodies / I-WAR 2 Egde of Chaos - New SDK / IW2-EOC_Pog_Scripting_SDK.exe / include / iObjectives.h < prev    next >
C/C++ Source or Header  |  2002-01-14  |  1KB  |  67 lines

  1. //
  2. // (c) 2000 Particle Systems Ltd. All Rights Reserved
  3. //
  4. // iObjectives.h
  5. //
  6. // Package API for I-War 2 mission objectives management
  7. //
  8. // Revision control information:
  9. //
  10. // $Header: /iwar2/packages/iObjectives.h 2     21/02/01 9:43 Will $
  11. //
  12.  
  13. #include "Flux.h"
  14.  
  15. #ifdef FLUX_COMPILE
  16.  
  17. FLUX_DECLARE_EXTENSION(iObjectives);
  18.  
  19. #ifdef FLUX_LIB
  20. #if _MSC_VER >= 1000
  21. #pragma comment( lib, "iobjectives" )
  22. #endif // _MSC_VER >= 1000
  23. #endif // FLUX_LIB
  24.  
  25. #else
  26.  
  27. // Objective states
  28. enum eObjectiveState
  29. {
  30.     // Objective has been supplied but not completed
  31.     OS_Incomplete,
  32.  
  33.     // Objective has been completed successfully
  34.     OS_Succeeded,
  35.  
  36.     // Objective has been failed
  37.     OS_Failed
  38. };
  39.  
  40. //
  41. // iObjectives.Add
  42. //
  43. // Add an objective to the player's list. Pass the localised text key which
  44. // identifies the objective.
  45. //
  46. prototype iObjectives.Add( string key );
  47.  
  48. //
  49. // iObjectives.Remove
  50. //
  51. // Silently remove an objective from the player's list. Pass the key to 
  52. // identify the objective.
  53. //
  54. // Normally SetState should be used to handle objective changes.
  55. //
  56. prototype iObjectives.Remove( string key );
  57.  
  58. //
  59. // iObjectives.SetState
  60. //
  61. // Change the state of an objective which already exists. Pass the key to 
  62. // identify the objective and the new state.
  63. //
  64. prototype iObjectives.SetState( string key, eObjectiveState state );
  65.  
  66. #endif // FLUX_LIB
  67.